package com.bdqn.t382.mapper.storagerecord;

import com.bdqn.t382.pojo.StorageRecord;
import com.bdqn.t382.pojo.Supplier;
import com.bdqn.t382.pojo.SysUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface StorageRecordMapper {
    /*
    根据供货商 ID、支付状态、商品名称 (模糊匹配) 为条件查询
    */
    public List<StorageRecord> selectStorageRecord(@Param("goodsName") String goodsName, @Param("supplierId") Integer supplierId, @Param("payStatus") Integer payStatus);

    /*
   根据供货商编码 (模糊匹配)、供货商名称 (模糊匹配)为条件查询
   */
    public List<Supplier> selectSupplier(@Param("supCode") String supCode, @Param("supName") String supName);

    /*
   根据供货商名称 (模糊匹配)、供货商编码 (模糊匹配)、联系人 (模糊匹配)、创建时间为条件查询
  */
    public List<Supplier> selectSupplierChoose(@Param("supName") String supName, @Param("supCode") String supCode, @Param("supContact") String supContact, @Param("createdTime") String createdTime);

    /**
     * 根据供应商Id数组查询
     *
     * @return
     */
    public List<StorageRecord> storageRecordBySupplierIdsArray(Integer[] supplierIds);

    /**
     * 根据供应商Id集合查询
     *
     * @return
     */
    public List<StorageRecord> storageRecordBySupplierIdsList(List<Integer> supplierIds);

    /**
     * 根据入库记录编码的集合查询
     *
     * @return
     */
    public List<StorageRecord> storageRecordBySrCodeMap(Map<String, Object> SrCodeMap);


    /**
     * 修改供应商表信息
     *
     * @return int 影响的行数
     */
    public int update(Supplier supplier);

    /**
     * 修改供应商表信息
     *
     * @return int 影响的行数
     */
    public int updateTrim(Supplier supplier);

    /**
     * 入库单模块和供货商模块的分页查询
     */
    public List<Supplier> selectPageList(@Param("pageBegin") Integer pageBegin, @Param("pageSize") Integer pageSize);

    //查询入库单模块和供货商模块总记录数
    public int selectPageListCount();
}
